<?php

$action = $_REQUEST['action'];

//Mise en session du visiteur et du mois choisi
if (isset($_REQUEST['Mois'])) {
    $_SESSION['leMois'] = $_REQUEST['Mois'];
    $_SESSION['Utilisateur'] = $_REQUEST['Utilisateur'];
}

//Choisi la vue
switch ($action) {

    case 'selectionnerVisiteur': {
            $lesLignes = $pdo->getListeVisiteur();

            include("vues/v_listeVisiteur.php");
            break;
        }

    case 'afficherFrais' : {

            //Info sur le visiteur choisi
            $leMois = $_SESSION['leMois'];
            $idVisiteur = $_SESSION['Utilisateur'];
            $leVisiteur = $pdo->getVisiteur($_SESSION['Utilisateur']);

            $idetat = $pdo->getIdEtat($idVisiteur, $leMois);

            if ($idetat['idEtat'] == 'CL') {

                $lesFraisForfait2 = $pdo->getLesFraisForfait($idVisiteur, $leMois);

                $lesFrais = array(
                    $lesFraisForfait2[0]['idfrais'] => $lesFraisForfait2[0]['quantite'],
                    $lesFraisForfait2[1]['idfrais'] => $lesFraisForfait2[1]['quantite'],
                    $lesFraisForfait2[2]['idfrais'] => $lesFraisForfait2[2]['quantite'],
                    $lesFraisForfait2[3]['idfrais'] => $lesFraisForfait2[3]['quantite']);


                //Bouton modifier : fonctionne
                if (isset($_POST['modif'])) {

                    $lesFrais = $_POST['idFraisForfait'];

                    $pdo->majFraisForfait($idVisiteur, $leMois, $lesFrais);
                }

                //Bouton supprimer : fonctionne
                if (isset($_POST['sup'])) {

                    $idHF = $_POST['idHF'];
                    $libelle = $_POST['libelle'];
                    //var_dump($libelle);
                    //var_dump(substr($libelle, 0, 7));
                    //Si refuser n'est pas écrit, alors on l'ajoute
                    if (substr($libelle, 0, 7) != 'Refuser') {
                        $pdo->refusHorsForfait($idVisiteur, $leMois, $idHF);
                    }
                }

                //Bouton reporter :
                if (isset($_POST['report'])) {

                    $idHF = $_POST['idHF'];
                    $date = $_POST['date'];
                    $libelle = $_POST['libelle'];
                    $montant = $_POST['montant'];
                    $mois = getMois(date("d/m/Y"));

                    //Permet de créer une nouvelle ligne de frais
                    if ($pdo->estPremierFraisMois($idVisiteur, $mois)) {
                        $pdo->creeNouvellesLignesFrais($idVisiteur, $mois);
                    }

                    $pdo->creeNouveauFraisHorsForfait($idVisiteur, $mois, $libelle, $date, $montant);
                    $pdo->supprimerFraisHorsForfait($idHF);
                }

                //Récupération de la fiche frais Hors Forfait
                $lesFraisHorsForfait = $pdo->getLesFraisHorsForfait($idVisiteur, $leMois);

                //Bouton valider :
                //
                if (isset($_POST['ok'])) {

                    $etat = 'VA';
                    $pdo->majEtatFicheFrais($idVisiteur, $leMois, $etat);

                    $lesMontants = $pdo->getFraisForfait();
                    $totalHF = 0;

                    //Calcule le montant total hors forfait
                    foreach ($lesFraisHorsForfait as $id => $montantHF) {
                        //var_dump($montantHF['libelle']);
                        //var_dump($montantHF['montant']);
                        //
                        //Repère le mot "Refuser" pour ne pas prendre en ompte les HF supprimé                    
                        if (substr($montantHF['libelle'], 0, 7) == 'Refuser') {
                            $totalHF = $totalHF + 0;
                        } else {
                            $totalHF = $montantHF['montant'] + $totalHF;
                        }
                    }

                    $i = 0;
                    $montant = 0;

                    //Calcule le montant total (Frais forfait + frais hors forfait)
                    foreach ($lesFrais as $idFrais => $val) {

                        $montant = $lesMontants[$i][1] * $val + $montant;
                        $i++;
                    }

                    $total = $montant + $totalHF;
                    $pdo->majMontantTotal($total, $idVisiteur, $leMois);
                }

                //Affichage de la fiche
                $numAnnee = substr($leMois, 0, 4); //change format du mois : AAAA MM
                $numMois = substr($leMois, 4, 2); //change format du mois : AAAA MM
                $lesFraisForfait = $pdo->getLesFraisForfait($idVisiteur, $leMois);
                $lesInfosFicheFrais = $pdo->getLesInfosFicheFrais($idVisiteur, $leMois);
                $libEtat = $lesInfosFicheFrais['libEtat'];
                $montantValide = $lesInfosFicheFrais['montantValide'];
                $nbJustificatifs = $lesInfosFicheFrais['nbJustificatifs'];
                $dateModif = $lesInfosFicheFrais['dateModif'];
                $dateModif = dateAnglaisVersFrancais($dateModif);

                include("vues/v_editFraisForfaitComp.php");
            } 
            else {
                $lesLignes = $pdo->getListeVisiteur();

                echo "<p class='erreur'> Aucune fiche n'a été trouvé pour le visiteur et le mois choisi. Merci de rechoisir un visiteur et un mois. </p>";

                include("vues/v_listeVisiteur.php");
            }
            break;
        }
}
